﻿#region Header

/*
Remote views based on linq
By

Pascal Hauser 
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

and

Raphael Gfeller
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

*/

#endregion

#region Usings

using System.Linq.Expressions;

#endregion

namespace InterLinq.Client {
	/// <summary>
	/// Description of the class
	/// </summary>
	public interface LinqQueryGateway {
		#region Public Properties

		// public Properties located here

		#endregion

		#region Public Methods

		TResult Execute<TResult>(Expression expression);

		/// <summary>
		/// Executes the query and returns the requested data.
		/// </summary>
		/// <param name="expression"><see cref="Expression"/> tree to execute.</param>
		/// <returns>Returns the requested data of Type <see langword="object"/>.</returns>
		/// <seealso cref="InterLinqQueryProvider.Execute"/>
		object Execute(Expression expression);

		#endregion
	}
}